package com.tengju.bff.interfaces.covercharge.entity.vo;

import com.tengju.user.domain.annotation.Sensitive;
import com.tengju.user.domain.shared.SensitiveFieldType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;

@Data
@ApiModel(value = "签约表查询结果")
public class ServiceSignQuery implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "序号")
    private Integer id;

    @ApiModelProperty(value = "代理id", required = true)
    private Integer idCode;

    /**
     * 平台编号
     */
    @ApiModelProperty(value = "平台编号", required = true)
    private String platformCode;


    /**
     * 历史上一签约身份
     */
    private String beforeIdentity;

    /**
     * 当前身份
     */
    private String currentIdentity;

    /**
     * 签约来源，0：还未签约初始状态，1：服务费，2：星际区域服务商
     */
    private Integer signFrom;

    /**
     * 星级签约是否通知会员，0：未通知，1：已通知
     */
    private Integer noticeStatus;

    /**
     * 历史未改版前的签约成功的用户身份
     */
    private String historyIdentity;

    /**
     * 是否已签约:no否,yes是
     */
    private String isSigned;

    /**
     * 签约时间
     */
    private String signTime;

    /**
     * 是否第一次查看默认FIRST NOT_FIRTST
     */
    private String isView;

    /**
     * 备注
     */
    private String remark;

    /**
     * 认证个体/企业开户行名称
     */
    private String ceBankName;

    /**
     * 创建时间
     */
    private String createdTime;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    private String updatedTime;

    @Sensitive(type = SensitiveFieldType.NAME)
    @ApiModelProperty(value = "姓名")
    private String name;

    @Sensitive(type = SensitiveFieldType.MOBILE)
    @ApiModelProperty(value = "电话")
    private String mobile;

    @Sensitive(type = SensitiveFieldType.NAME)
    @ApiModelProperty(value = "签约姓名/名称")
    private String signName;

    @Sensitive(type = SensitiveFieldType.DUTY_PARAGRAPH)
    @ApiModelProperty(value = "税号/身份证号")
    private String idNumberIdNumber;

    @ApiModelProperty(value = "证件类型")
    private String idCardType;

    @ApiModelProperty(value = "证件类型名称")
    private String idCardTypeName;

    @Sensitive(type = SensitiveFieldType.IDENTITY_NO)
    @ApiModelProperty(value = "法人身份证号")
    private String idCardNo;

    @Sensitive(type = SensitiveFieldType.NAME)
    @ApiModelProperty(value = "法人姓名")
    private String idCardName;

    @Sensitive(type = SensitiveFieldType.MOBILE)
    @ApiModelProperty(value = "法人手机号")
    private String legalMobile;

    @ApiModelProperty(value = "子状态")
    private String subStatus;

    @Sensitive(type = SensitiveFieldType.BANKCARD_NO)
    @ApiModelProperty(value = "子状态")
    private String paymentAccount;

    @ApiModelProperty(value = "身份证图片")
    private String idcardImage;

    @ApiModelProperty(value = "营业执照")
    private String businessImg;

    @ApiModelProperty(value = "开户许可证图片")
    private String licenceImg;

    @ApiModelProperty(value = "是否需要申请数字证书")
    private Integer isApplyCertificate;
}
